PHP Streams函数

PHP stream_set_read_buffer() 函数设置给定流上的读取文件缓冲。它相当于 stream_set_write_buffer(),但用于读取操作。

语法

stream_set_read_buffer(stream, size) 

参数

stream必填。 指定文件指针。
size必填。 指定要缓冲的字节数。如果 size 为 0,则读取操作不会被缓冲。这可以确保在允许其他进程从该输入流读取数据之前完成使用 fread() 的所有读取。

返回值

成功时返回 0,失败时返回其他值。

示例:

下面的示例展示了如何使用stream_set_read_buffer()函数创建无缓冲流。

<?php
$file = "test.txt";
$message = "Hello World!";

$fp = fopen($file, "w");
fwrite($fp, $message);
fclose($fp);

$fp = fopen($file, "r");
if ($fp) {
  if (stream_set_read_buffer($fp, 0) !== 0) {
    echo "Changing the buffering failed \n";
  }

  //读取文件内容
  $content = fread($fp, filesize("test.txt"));

  //显示读取的内容
  echo $content;

  //关闭文件
  fclose($fp);
}
?> 

上述代码的输出将是:

Hello World!